package com.lin.controller;

import com.lin.pojo.DFile;
import com.lin.pojo.DModule;
import com.lin.pojo.DModuleDetails;
import com.lin.pojo.PageVo;
import com.lin.service.DModuleService;
import com.lin.utils.CreateNumber;
import org.omg.PortableInterceptor.SYSTEM_EXCEPTION;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

//产品物料组成
@RestController
public class DModuleController {
    //自动注入
    @Autowired
    DModuleService dModuleService;

    //工具类
    @Autowired
    CreateNumber createNumber;

    //添加DModule
    @PutMapping("/insertDmodule.action")
    public Map insertDmodule(@RequestBody DModule dModule){
        System.out.println(dModule);
        dModule.setDesignId(createNumber.getmoduleid());

        return dModuleService.addbyDModule(dModule);
    }

    //查询审核数据
    @GetMapping("querybyDmodule.action")
    public PageVo<DModule> querybyDmodule(DModule dModule,
                                           @RequestParam(value = "pagenum",defaultValue = "1") Integer pageno,
                                           @RequestParam(value = "pagesize",defaultValue = "5") Integer pagesize){

        return dModuleService.querybyDmodule(dModule,pageno,pagesize);
    }
    //根据id查找
    @GetMapping("/querybyid.action")
    public DModule querybyid(DModule dModule){
        return dModuleService.querybyid(dModule);
    }

    //根据父id去查找数据
    @GetMapping("/querybypid.action")
    public PageVo<DModuleDetails> querybypid(DModule dModule,
                              @RequestParam(value = "pagenum",defaultValue = "1") Integer pageno,
                              @RequestParam(value = "pagesize",defaultValue = "5") Integer pagesize){
        return dModuleService.querybypid(dModule,pageno,pagesize);
    }

    //工序物料
    @GetMapping("/modulebyid.action")
    public PageVo<DModuleDetails> gxmodule(DModule dModule,
                                             @RequestParam(value = "pagenum",defaultValue = "1") Integer pageno,
                                             @RequestParam(value = "pagesize",defaultValue = "5") Integer pagesize){
        return dModuleService.querybypid(dModule,pageno,pagesize);
    }



    //修改审核状态
    @RequestMapping("/updatebycheck.action")
    public Map updatebycheck(DModule dModule){
        Map map=new HashMap();
        if (dModule.getCheckTag().equals("S001-1")){
            map=dModuleService.updatebycheck(dModule);
        }
        if (dModule.getCheckTag().equals("S001-2")){
            map=dModuleService.updatebycheck02(dModule);
        }
        System.out.println(dModule);
        return map;
    }

    //数据查询
    @GetMapping("/querybymenu.action")
    public PageVo<DModule> querybymenu(DModule dModule,
                                             @RequestParam(value = "pagenum",defaultValue = "1") Integer pageno,
                                             @RequestParam(value = "pagesize",defaultValue = "5") Integer pagesize) {
        return dModuleService.querybymenu(dModule, pageno, pagesize);
    }

    //数据查询
    @GetMapping("/querybymenu02.action")
    public PageVo<DModule> querybymenu02(DModule dModule,
                                       @RequestParam(value = "pagenum",defaultValue = "1") Integer pageno,
                                       @RequestParam(value = "pagesize",defaultValue = "5") Integer pagesize) {
        return dModuleService.querybymenu02(dModule, pageno, pagesize);
    }

    //查找装配树数据
    @GetMapping("/querybypid02.action")
    public PageVo<DModuleDetails> querybypid02(DModule dModule,
                                             @RequestParam(value = "pagenum",defaultValue = "1") Integer pageno,
                                             @RequestParam(value = "pagesize",defaultValue = "5") Integer pagesize){
        return dModuleService.querybypid02(dModule,pageno,pagesize);
    }

    //修改产品物料组成
    @PutMapping("updateNewDmdule.action")
    public Map updateNewDmdule(@RequestBody DModule dModule){
        System.out.println(dModule);
        return dModuleService.updateNewDmdule(dModule);
    }
}
